package com.macro.mall.mapper;

import com.macro.mall.model.*;

import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface SmsFlashPromotionProductRelationMapper {
    long countByExample(SmsFlashPromotionProductRelationExample example);

    int deleteByExample(SmsFlashPromotionProductRelationExample example);

    int deleteByPrimaryKey(Long id);

    int insert(SmsFlashPromotionProductRelation row);

    int insertSelective(SmsFlashPromotionProductRelation row);

    List<SmsFlashPromotionProductRelation> selectByExample(SmsFlashPromotionProductRelationExample example);

    SmsFlashPromotionProductRelation selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("row") SmsFlashPromotionProductRelation row, @Param("example") SmsFlashPromotionProductRelationExample example);

    int updateByExample(@Param("row") SmsFlashPromotionProductRelation row, @Param("example") SmsFlashPromotionProductRelationExample example);

    int updateByPrimaryKeySelective(SmsFlashPromotionProductRelation row);

    int updateByPrimaryKey(SmsFlashPromotionProductRelation row);

    SmsFlashPromotionProductRelationDto selectByProductRelation(Long id);

    void deleteSmsFlashPromotionSkuSelation(@Param("skuId") Long skuId, @Param("flashPromotionId") Integer flashPromotionId, @Param("flashPromotionSessionId") Integer flashPromotionSessionId);

    void addSmsFlashPromotionSkuSelation(@Param("skuId") Long skuId, @Param("relation") SmsFlashPromotionProductRelation relation, @Param("pmsSkuStockDto") PmsSkuStockDto pmsSkuStockDto);

    SmsFlashPromotionSkuRelation selectSmsFlashPromotionSkuRelation(Long skuId);
}
